package com.dap.system.office.mapper;

import java.util.List;

import com.dap.system.office.domain.ScoreInpot;
import com.dap.system.office.domain.TScore;
import com.dap.system.office.domain.vo.TStudentScoreInfoVo;
import org.apache.ibatis.annotations.Param;

/**
 * 分数Mapper接口
 * 
 * @author dap
 * @date 2021-11-12
 */
public interface TScoreMapper 
{
    /**
     * 查询分数
     * 
     * @param id 分数ID
     * @return 分数
     */
    public TScore selectTScoreById(Long id);

    /**
     * 通过学生id查询
     */
    public TScore selectTScore(Long id);

    /**
     * 查询分数列表
     * 
     * @param tScore 分数
     * @return 分数集合
     */
    public List<TScore> selectTScoreList( TScore tScore);

    /**
     * 新增分数
     * 
     * @param tScore 分数
     * @return 结果
     */
    public int insertTScore(TScore tScore);

    /**
     * 插入分数前判断是否已经存在
     */
//    public Integer existsCourseScore(TScore tScore);

    /**
     * 修改分数
     * 
     * @param tScore 分数
     * @return 结果
     */
    public int updateTScore(TScore tScore);

    /**
     * 删除分数
     * 
     * @param id 分数ID
     * @return 结果
     */
    public int deleteTScoreById(Long id);

    /**
     * 批量删除分数
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteTScoreByIds(Long[] ids);

    List<TStudentScoreInfoVo> selectStudentScoreInfo(TScore tScore);

    ScoreInpot findInfo(@Param("courseName") String courseName,
                        @Param("studentName") String studentName,
                        @Param("className") String className,
                        @Param("gradeName") String gradeName,
                        @Param("semesterName") String semesterName);


}
